home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
aasmacros
/
aj_pt.doc
< prev
next >
Wrap
Text File
|
1993-01-21
|
46KB
|
1,173 lines
% AJ_PT.STY -- AJ plano tables style.
% Plano tables are camera-ready pages that are included in a typeset
% article the same way as line drawings, graphs, and other camera-ready
% art, i.e., as "planographic" figures. This file is parameterized so
% that the tables are appropriate for the AJ.
% My convention for identifying configuration information is for styles
% to define the five parameters below.
\def\revtex@ver{1.1} % Version number of this file.
\def\revtex@date{10 Jan 93} % Revision date.
\def\revtex@org{AAS} % Sponsoring organization.
\def\revtex@jnl{AJ} % Applicable journal, if specific.
\def\revtex@genre{plano tables} % Document "type".
% Display identifying message on screen and in logfile.
\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle,
v\revtex@ver\space <\revtex@date>.}
% The following mini-colophon identifies the article are having been
% prepared with this macro package. The \revtex@pageid command only
% defines the formatting of this colophon; its existence and placement
% within the printed article is controlled by the use of this command
% in the style file.
\def\revtex@pageid{\xdef\@thefnmark{\null}
\@footnotetext{This \revtex@genre\space was prepared with the
\revtex@org\space \LaTeX\ macros v\revtex@ver.}}
% Issue a warning if manuscripts are formatted with type smaller than 12pt.
\def\genre@MS{manuscript}
\ifx\revtex@genre\genre@MS
\ifnum\@ptsize<2
\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts).
Use 12pt documentstyle option.}
\fi
\fi
% ****************************************
% * INITIALIZATION *
% ****************************************
% Initialization has to occur at the head of this file because LaTeX's
% "plain" pagestyle is used to establish defaults. These are modified
% below to suit the requirements of this journal.
%\@input{art8.sty}
\ps@plain % Use "plain" pagestyle for defaults.
% ****************************************
% * PAGE LAYOUT *
% ****************************************
% Create "plaintop" page style that has folios at top of page.
\def\ps@plaintop{\let\@mkboth\@gobbletwo
\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil}
\def\@evenfoot{}\let\@evenhead\@oddhead}
%\pretolerance=10000 % Disable hyphenation
% The following gives "reasonable" ragged right results.
%\@rightskip=\z@ plus 4em\rightskip\@rightskip
% Page size, spacing parameters, etc.
\newdimen\@fmwidth \@fmwidth=44pc % Front matter width
\newdimen\@bodywidth \@bodywidth=44pc % Body text width
\textwidth=\@bodywidth
\textheight=8.9in
\topmargin=0in
\headheight=0in % .15in
\headsep=0in % .35in
\oddsidemargin=0in
\evensidemargin=0in
\parindent=1em
\parskip=0ex
\columnsep=1pc
\hoffset=-2.5pc % To compensate for wide \textwidth
\tolerance=400 % 2x "normal" value; cuts down on overfull complaints
% For landscape plano tables.
\def\ptlandscape{\textwidth=9in \textheight=6.5in \hoffset=0in}
%\@input{styopts.sty}
% ****************************************
% * STYLE OPTIONS *
% ****************************************
% Make footnotes same size as main text.
%\let\footnotesize=\normalsize
% Define parameters to adjust the baselineskip.
% These are passed as the scale factor argument to \baselinestretch.
\def\@tightleading{1.1}
\def\@doubleleading{1.6}
% Double-space by default. Observe that you double-space in LaTeX by
% resetting \baselinestretch, which is essentially a scale factor for
% \baselineskip (= leading, for you typographophiles). The style uses
% the \@doubleleading factor, defined above.
%\def\baselinestretch{\@doubleleading}
% The \tighten command merely resets the \baselinestretch to a
% smaller factor, resulting in single-column text that is more closely
% spaced. (This will always work.) Tightening the vertical spacing
% in the text results in output that is more attractive for distribution
% to colleagues who are primarily interested in reading the paper, as
% opposed to copy editing it. Double-spaced output for referees and
% copy editors is, however, the main objective of this style, hence
% double-spacing occurs by default. The same effect as \tighten
% can be achieved by using the "tighten" document style option.
%
% \tighten
%
% \tighten is intended for use in the preamble of the article.
%\def\tighten{\def\baselinestretch{\@tightleading}}
\def\tighten=\relax
\let\tightenlines=\tighten
% For authors who feel compelled to change between single and double
% spacing in the manuscript, \singlespace and \doublespace commands
% are provided. (Following recommendations of AAS Publications Board
% Subcommittee on Preprints.)
%
% \singlespace
% \doublespace
\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize}
\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize}
% Upper case for sections (optional upper case items). These are created
% so that some headings can be toggled between mixed case and upper case
% readily. Headings that might be changed can be wrapped in the style
% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is
% controlled here. It is `\relax' by default (mixed case heads), and can
% easily be changed to `\uppercase' if desired. If mixed case headings
% are wanted by the editor, authors MUST supply mixed case text, although
% this is what authors should be doing anyway. (Mixed can be converted
% to upper, but the reverse transformation cannot be automated.)
%\def\sec@upcase#1{\uppercase{#1}}
\def\sec@upcase#1{\relax{#1}}
% Sometimes people want to number equations by section, rather than
% sequentially through the whole paper.
\def\eqsecnum{
\@newctr{equation}[section]
\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}}
%\@input{slug.sty}
% ****************************************
% * SLUG LINE *
% ****************************************
% There are some obvious style-dependent parameters and formatting
% instructions in this file. The object has been to keep the author
% commands (the user interface, if you will) society, journal, and
% style-independent, while the style-specific parameters and commands
% are kept below that level. Commands and parameters that are susceptible
% to external interpretation, either by authors or publishers/translators,
% are identified by indented comment lines, with the semantics of command
% arguments described in upper case text.
%
% \@journalname{JOURNAL NAME}
% \cpr@holder{COPYRIGHT HOLDER}
\def\@journalname{The Astropolitical Journal}
\def\cpr@holder{American Astronomical Society}
% Journal and article identification information is established by the
% editorial staff. The following macros are used by personnel at the
% editorial office to annotate/record slug-line data and should be included
% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All
% they do is globally define other TeX control sequences that are used by
% other macros at a later time.
%
% \received{RECEIPT DATE}
% \revised{REVISION DATE}
% \accepted{ACCEPTANCE DATE}
% \journalid{VOL}{JOURNAL DATE}
% \articleid{START PAGE}{END PAGE}
% \paperid{ID}
% \ccc{CODE}
%
% For preprints and submitted manuscripts in draft/referee format, etc.,
% the slug-line information is irrelevant and in those kinds of style,
% the data are never used. In my estimation, it is perfectly acceptable
% to have these commands in the file (for future use), so they are defined
% in the usual way.
\def\received#1{\gdef\@recvdate{#1}} \received{\relax}
\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax}
\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax}
\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}}
\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}}
\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP}
\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB}
% Following copyright and running heads \defs are stubs.
%\let\cpright=\@gobbletwo
%\let\righthead=\@gobble
%\let\lefthead=\@gobble
% Copyright data. Permit the author/editor to supply a copyright
% "type" as well as the year.
%
% \cpright{TYPE}{YEAR}
%
% Copyright types are designated by name and converted to numeric form.
% The mapping of types is defined by the code that sets the @cprtype
% counter. The language of the copyright notices is defined by \@slug.
\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2}
\typeout{`#1' copyright \cpr@year.}}
\newcount\@cprtype \@cprtype=\@ne % Default copyright type.
\def\cpr@AAS{\@cprtype=1}
\def\cpr@PD{\@cprtype=2}
\def\cpr@Crown{\@cprtype=3}
\def\cpr@none{\@cprtype=4}
\def\cpr@ASP{\@cprtype=5}
\def\cpr@year{\number\year} % Default copyright year.
% \@slug determines formatting of slugline information.
\def\@slug{\par\noindent
\ifcase\@cprtype
\relax
\or
Copyright \cpr@year\space by the \cpr@holder.
\or
This article is in the public domain.
\or
Crown copyright \cpr@year\space by the \cpr@holder.
\or
No copyright is claimed for this article.
\or
Copyright \cpr@year\space by the ASP.
\fi
\par\noindent
Manuscript number \@paperid.\par\noindent
\CCC@code
}
% Authors may be asked to supply running head information. We use the
% language of the publisher here to distinguish between two pieces of
% information: the left head frequently contains an author list (last
% names, possibly truncated as et al.), while the right head frequently
% contains an abbreviated form of the paper title. The \lefthead and
% \righthead commands merely collect the information and buffer the text.
%
% \lefthead{TEXT}
% \righthead{TEXT}
\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax}
\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax}
% \@runheads determines formatting of running head information.
\def\@runheads{\@tempcnta\c@page
\@whilenum \@tempcnta >0\do{
\vskip 3ex
\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}:
\expandafter\uppercase\expandafter{\@rectohead}\hfil}
\advance\@tempcnta by\m@ne}
}
% The \slugcomment command is provided so authors or editors may include
% a remark about the manuscript that may be desired in print for some
% styles. For instance, authors like to include information about the
% journal and publication date of accepted papers ("To appear in AJ,
% November 1992").
%
% \slugcomment{TEXT}
%
% The formatting of the \slugcomment information is controlled by the
% \sluginfo command.
\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax}
% Editorial offices like to have receipt and acceptance dates on the front
% page for tracking purposes. The current practice is to require the author
% to type Received___________________ and Accepted ________________ lines
% for the staff to type on. The \@dates command will typeset either rules
% or the dates specified in \received and/or \accepted commands. Note that
% authors should not include \received and \accepted.
\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@}
% \@dates determines formatting of MS date information.
\def\@dates{{Received}\space%
\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;%
\hspace{1.5em}{accepted}\space%
\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi%
}
% The \sluginfo command is executed automatically when a \begin{abstract} is
% encountered, so it is not necessary (or appropriate) for the author to
% include this line explicitly. The received/accepted business is a
% concern only for the editorial staff, hence we have arranged for the
% author not to have to fuss with it.
\def\sluginfo{{\center
\@dates
%\@slug
%\@runheads
\endcenter}}
\let\dates=\sluginfo % Backwards compatibility
%\@input{text.sty}
% ****************************************
% * FRONT MATTER *
% ****************************************
% Make adjustments to LaTeX abstract style: optional upper case heading,
% retain current type size (should be normalsize), ignore twocolumn option
% in this substyle, add \sluginfo, and start abstract on fresh page.
\def\abstract{\sluginfo\clearpage
\begin{center}
{\bf{ABSTRACT}}
\end{center}
\quotation
}
% Title and author identification is by way of standard LaTeX commands
% \title and \author, although the macros themselves are rather different.
% The information is typeset by these macros in this style, rather than
% being buffered as per regular LaTeX. The authors' principal affiliation
% is specified with a separate macro \affil. Each \author command should
% be followed by its own \affil (or address).
%
% Authors often have affiliations above and beyond their main employer,
% and these are specified with the \altaffilmark and \altaffiltext commands.
% These commands behave like the \footnotemark and \footnotetext commands
% of LaTeX. \altaffilmark is appended to author's names in the \author
% lists, and generates the superscript identification numbers.
% The text for the individual alternate affiliations is generated by the
% \altaffiltext command. It is up to the author to make sure that the
% \altaffilmark numbers attached to authors' names correspond to the correct
% alternate affiliation.
%
% \title{LUCID TEXT}
% \author{NAME(S)}
% \authoraddr{AUTHOR'S POSTAL ADDRESS}
% \affil{AFFILIATION}
% \altaffilmark{TAG NUMBER(S)}
% \altaffiltext{NUMERICAL TAG}{TEXT}
%
% The typesetting performed by these commands is appropriate for the top of
% the first text page of the manuscript. They could as well be used on a
% title cover page, but vertical placement would have to be controlled by
% the author. This is not to be encouraged, since I want to discourage
% the introduction of any extra horizontal or vertical space.
\def\title#1{{\def\baselinestretch{\@tightleading}
\center\large\bf{#1}\endcenter}
\thispagestyle{empty}}
\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}}
\let\authoraddr=\@gobble
\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}}
\def\altaffilmark#1{$^{#1}$}
\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}}
% Redefine the LaTeX \and command for this style.
\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}}
% ****************************************
% * KEYWORDS *
% ****************************************
% Keywords environment. Keywords, subject headings, etc., are accommodated
% only as a piece of text; the \keywords command indents if necessary and
% supplies the proper leading text ("Keywords:", "Subject headings:", etc.)
% but does not apply formatting to the user's keyword text. The author
% must supply the correct punctuation according to the journal style.
%
% Note that the editors of A&A, AJ, and MNRAS have discussed the issue
% of keywords, and there is disagreement about whether "subject headings"
% or "keywords" should appear after abstracts in astronomical papers.
% It does not really matter what the macro is called, so I will stick
% to \keywords since I don't know what the difference is anyway.
\def\@keywordtext{Subject headings}
\def\@keyworddelim{---}
\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@}
\if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}}
\else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote}
\fi}
\let\subjectheadings=\keywords
\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do
{\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}}
% ****************************************
% * FOOTNOTES *
% ****************************************
% The following code redefines a few things so that spacing in footnotes is
% different than LaTeX defaults. The adjustment to \skip\footins increases
% the amount of vspace inserted before the \footnoterule. Redefine
% \@makefntext to get proper indentation.
\skip\footins 4ex plus 1ex minus .5ex
\footnotesep 3ex
%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1}
%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1}
% ****************************************
% * SECTIONS *
% ****************************************
% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
% optional * [ALTHEADING]{HEADING}
% Generic command to start a section.
% NAME : e.g., 'subsection'
% LEVEL : a number, denoting depth of section -- e.g., chapter=1,
% section = 2, etc.
% INDENT : Indentation of heading from left margin
% BEFORESKIP : Absolute value = skip to leave above the heading.
% If negative, then paragraph indent of text following
% heading is suppressed.
% AFTERSKIP : if positive, then skip to leave below heading, else
% negative of skip to leave to right of run-in heading.
% STYLE : commands to set style
% If '*' missing, then increments the counter. If it is present, then
% there should be no [ALTHEADING] argument.
% Adjust section heading typography slightly. This is one of the spots
% where my personal preference is going to bite me. Anyway, I have reduced
% the size of the main section heads to whatever the normal size is for
% the paper; I don't think it needs to be larger, especially when the
% layout is double-spaced.
%
% Also, modify the indentation behavior so that ALL paragraphs, including
% those first after section heads, are indented. This is consonant with
% the styles of many journals, although it's non-standard typographic practice.
\def\section{\@startsection {section}{1}{\z@}
{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
\def\subsection{\@startsection{subsection}{2}{\z@}
{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
{5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}}
\def\thesection{\@arabic{\c@section}.}
\def\thesubsection{\thesection\@arabic{\c@subsection}.}
\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.}
\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:}
% For AJ, acknowledgments are set off from main body text simply by
% vertical space (no heading or type size change). I do the same for
% the AAS manuscript style. For use in producing more polished output
% for other journals, this macro might generate text saying
% "Acknowledg[e]ments".
\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex}
\let\acknowledgements=\acknowledgments % second spelling
% LaTeX sectioning tools.
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
\def\@svsec{}\else
\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup \center#6\relax
\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M
\sec@upcase{#8}\par}%
\endcenter\endgroup
\csname #1mark\endcsname{#7}\addcontentsline
{toc}{#1}{\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi
#7}\else
\def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname
{#7}\addcontentsline
{toc}{#1}{\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi
#7}}\fi
\@xsect{#5}}
\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
\begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M
\sec@upcase{#5}\par}\endcenter\endgroup
\else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi
\@xsect{#3}}
% ****************************************
% * EQUATION NUMBERING *
% ****************************************
% Redefine \appendix so that equation numbers are prepended with
% \theappendix number. Reset equation counter so that equation
% numbers in the appendix begin again with 1. Note that the
% \appendix command is NOT a sectioning command; it is merely
% a delimiting markup between the main body of the paper and the
% appendix. Sections in the appendix are still started with
% \section commands.
%
% \appendix
\def\appendix{\par
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{equation}{0}
\def\thesection{\Alph{section}.}
\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}}
% Define mathletters environment. This is a wrapper that goes
% *around* (outside of) equation or eqnarray environments.
%
% \begin{mathletters}
% \end{mathletters}
\newcounter{cureqno}
\newenvironment{mathletters}{\refstepcounter{equation}%
\setcounter{cureqno}{\value{equation}}%
\let\@curtheeqn\theequation%
\edef\cur@eqn{\csname theequation\endcsname}%
\def\theequation{\cur@eqn\alph{equation}}%
\setcounter{equation}{0}}%
{\let\theequation\@curtheeqn%
\setcounter{equation}{\value{cureqno}}}
% The \eqnum command allows the author to override all automatic
% equation marking schemes.
%
% \eqnum{TEXT}
\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation
\addtocounter{equation}{\m@ne}}
% ****************************************
% * BIBLIOGRAPHY *
% ****************************************
% Bibliography/references environment. For the time being, I don't think
% it would be a good idea to force an implementation based on BibTeX,
% although I'll prepare for that eventuality by using the constructs and
% general ideas of the LaTeX thebibliography environment. Adjustments
% have been made so that the \cite-\bibitem mechanism can be used to cite
% references symbolically while maintaining proper citation syntax within
% the paper; the author must create the citation label for each reference
% in proper journal format in the \bibitem command.
%
% \begin{thebibliography}
% \bibitem[LABEL]{TEXTTAG} \reference <bibliographic data>
% \end{thebibliography}
%
% where LABEL must adhere to the journal's standards, e.g. "Abt 1986".
%
% It is not necessary to use the thebibliography environment. This style
% defines a references environment that simply sets off the list of references
% and adjusts spacing parameters. It is not possible to use \bibitems
% within the references environment. (The \reference command cannot be
% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.)
%
% \begin{references}
% \reference <bibliographic data>
% \end{references}
%
% \markcite{TEXT}
%
% Observe that the bibliographic data supplied by the author must also
% conform to the standards of the journal. I have elected not to burden
% authors with tedious LaTeX commands which would require many curly braces
% to delimit the bibliographic fields because many of the journals I have
% targeted in this project have agreed to reduce typographic overhead (bolding,
% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.)
% It is the responsibility of the author to get these fields in the proper
% order with the correct punctuation; the information will be typeset as is,
% i.e., in roman with no size or style changes.
%
% Macros are provided for many of the oft-referenced journals so that authors
% may use the LaTeX names rather than having to look up a particular journal's
% specific abbreviation. In principle, all the journals should be using the
% same abbreviations, too, but I anticipate some changes in the specific
% abbreviations before a set is finally settled on. As long as these macros
% are kept up to date, authors need not be concerned about such editorial
% changes.
%
% Corresponding with the non-BibTeX references environment and \reference
% command for the reference list is the \markcite command. This can be
% used to identify in-text citations; in this case, the author provides
% the actual citation text as opposed to the symbolic tag. The use of
% this is encouraged, even for journals where no special formatting of
% citation call-outs is required; it is crucial for the future use of
% on-line browsers.
\def\references{\subsection*{REFERENCES}
\bgroup\parindent=\z@\parskip=\itemsep
\def\refpar{\par\hangindent=3em\hangafter=1}}
\def\endreferences{\refpar\egroup\revtex@pageid}
\def\thebibliography{\subsection*{REFERENCES}
\list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em
\usecounter{enumi}}
\def\refpar{\relax}
\def\newblock{\hskip .11em plus .33em minus .07em}
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax}
\def\endthebibliography{\endlist\revtex@pageid}
\def\@biblabel#1{\relax}
%\def\@cite#1#2{({#1\if@tempswa , #2\fi})}
\def\@cite#1#2{#1\if@tempswa , #2\fi}
\def\reference{\relax\refpar} % Generic: might be better...
\def\markcite#1{#1\relax}
% Modify \@citex so that individual citation texts are NOT hboxed.
% This allows TeX to break lines at spaces between words in citations.
% Remove the obnoxious {\bf ?} that was inserted in the text when
% undefined citations are encountered; here, the warning message is
% printed only on the terminal.
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
\def\@citea{}\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined
{b@\@citeb}{\@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\csname b@\@citeb\endcsname}}}{#1}}
% Permit \keywords declaration, but eat the contents.
\let\keywords=\@gobble
\let\subjectheadings=\@gobble
%\@input{tblfig.sty}
% ****************************************
% * TABLES AND FIGURES *
% ****************************************
% Additions and adjustments for tables and figures.
% Footnotes for tables are to be identified with lower case alphabetics,
% rather than numeric. \tablenotemark and \tablenotetext commands are
% provided analogous to \footnotemark and \footnotetext, but with the
% identifier *required*, like \altaffilmark and \altaffiltext. The
% \tablenotetext must be specified before the \end{table}, since
% \end{table} displays it.
%
% \tablenotemark{TAG LETTER(S)}
% \tablenotetext{ALPHA TAG}{TEXT}
%
% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the
% responsibility of the author to get the correspondence correct.
%
% The table footnotes are coupled to the table in which they occur, rather
% than being associated with a particular page, and they are printed with
% the table (relatively close to the caption) instead of appearing at the
% extreme bottom of the page. This is done to ensure that the notes wind
% up on the same page as the table, since tables are floats and can migrate
% from one page to another. There is the additional benefit that the notes
% are unambiguously attached to the proper table, which is what is required
% in the event that the editorial requirement of one table only per page
% is ever changed to permit several tables per page.
%
% Footnotes are NOT supported for figures.
\def\tablenotemark#1{\rlap{$^{\rm #1}$}}
% The \tablenotetext command buffers the table note text and the "proper"
% tablenote formatting information in a token buffer. The tablenotes are
% dispensed into the vertical page list by \spew@tblnotes, which is
% executed by \end{table}. Note that certain "global" tablenote formatting
% details are handled by \spew@tblnotes, which also clears the tblnote list.
% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for
% posting ftn.sty to the Usenet, from which I drew the technique.
\newtoks\@temptokenb
\def\tblnote@list{}
\def\tablenotetext#1#2{
\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par}
\@temptokenb=\expandafter{\tblnote@list}
\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
\def\spew@tblnotes{
\ifx\tblnote@list\@empty\relax
\else
\vspace{4.5ex}
\footnoterule
\vspace{.5ex}
{\footnotesize\tblnote@list}
\gdef\tblnote@list{}
\fi}
\def\endtable{\spew@tblnotes\end@float}
\@namedef{endtable*}{\spew@tblnotes\end@dblfloat}
% Add a \tableline command for use in tabular environments. This command
% produces the horizontal rule(s) between the column headings and the body
% of the table. Authors are discouraged from using any \hlines themselves,
% and are typically forbidden from using vertical rules by editors.
\let\tableline=\hline
% \@makecaption determines formatting for figure and table captions.
% For manuscripts, all captions should be set as flushleft paragraphs.
\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par}
% The \tablenum command allows the author to override all automatic
% table marking schemes.
%
% \tablenum{TEXT}
\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable
\addtocounter{table}{\m@ne}}
% The \figurenum command allows the author to override all automatic
% figure marking schemes.
%
% \figurenum{TEXT}
\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure
\addtocounter{figure}{\m@ne}}
% ****************************************
% * PLANO TABLES *
% ****************************************
% Plano tables are camera-ready pages that are included in a typeset
% article the same way as line drawings, graphs, and other camera-ready
% art, i.e., as "planographic" figures. There are desirable properties
% for a formatter to have that are somewhat above and beyond LaTeX'x
% tabular environment that would facilitate the creation of such tables.
% Among these are breaking long tables across pages, using footnotes
% in a table, specifying comments and references for tables, etc.
%
% What follows was inspired by supertab.sty by Theo Jurriens, 1988.
% Commands for identifying table elements in a consistent way. Observe
% that the formatting is embedded in the macro definitions so that the
% author doesn't need to be concerned about stylistic nuances.
%
% \tablecaption{TEXT}
% \tablehead{TEXT}
% \colhead{HEADING}
% \tabletail{TEXT}
% \tablewidth{DIMEN}
% \tableheadfrac{NUM}
%
% AJ has no "standard" widths for camera-ready tables, they simply need
% to be narrower than the page. Landscape orientation is acceptable,
% and I have provided the pseudo-option \ptlandscape that resets the
% page dimensions; the author is still responsible for running the
% local DVI translator with the proper parameters so that landscape
% pages actually emerge from the laser printer.
\newbox\pt@box
\newdimen\pt@width
\newcount\pt@line
\newcount\pt@nlines
\newcount\pt@ncol
\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne}
\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax}
\def\tablehead#1{\gdef\pt@head{
#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax}
\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax}
\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth
\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1}
% Calculate the number of tabular rows that will fit in the body of the
% table. The height of the table body and the number of lines are
% calculated thus:
%
% bodyheight = \textheight * (1 - \pt@headfrac)
% \pt@nlines = bodyheight / (\arraystretch * \baselineskip)
%
% The row height can be seen to be valid algebraically if one examines the
% definitions for \strutbox, \@setstrut, and \@array. I could eliminate
% this calculation, as well as its attendant parameters, if it were possible
% to determine the accumulated height of the \halign box as TeX goes along.
\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight
\@tempdimb\textheight\advance\@tempdimb by-\@tempdima
\@tempdima\arraystretch\baselineskip
\divide\@tempdimb by\@tempdima
\global\pt@nlines\@tempdimb}
% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed
% so tabular box can be set with \setbox. I do this so that table notes
% can be set to natural width of table, if desired. Also, set \@acol
% to \@ptabacol, which is called when building the preamble for the
% \halign (assuming the first column format specification is "l", which
% it should be for ApJ tables) so that \tabskip within the table is set
% to \fill. This permits us to toggle between natural and fixed-width
% tables without requiring the user to change markup. Note that by
% forcing \tabskip always to be \fill, I pretty well nullify any
% @{\hspace} commands the user puts in the template, but this environment
% is for people who don't want to think about that sort of stuff anyway.
\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol
\let\@classz\@tabclassz
\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}}
% Permit different identifying strings, one for the first page of the
% table and one for continuation pages. LaTeX's \fnum@table is set to
% one or the other automatically in the environment. Note that caption
% handling is not so graceful: you have to edit inside the big macros to
% adjust this. Someday, I will be ambitious enough to fix this.
\def\fnum@ptable{Table \thetable.}
\def\fnum@ptablecont{Table \thetable.\space{\rm (continued)}}
\def\set@mkcaption{\long\def\@makecaption##1##2{
\center\large{\sc##1}\space##2\endcenter\vskip 1.5ex}}
\def\set@mkcaptioncont{\long\def\@makecaption##1##2{
\center\large{\sc##1}\endcenter\vskip 1.5ex}}
% The environment definition. It is desirable for the last portion of
% a multi-page table to be \topinserted, rather than \midinserted.
% At the moment, this doesn't happen. It's not straightforward to
% make that preference known at the *end* of table processing.
%
% \begin{planotable}
% \end{planotable}
%
% \startdata
\newenvironment{planotable}[1]{\def\pt@format{\string#1}%
\set@tblnotetext\pt@ncol=0}%
{\crcr\noalign{\vskip .7ex}\hline\hline\endtabular%
\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes%
\typeout{Table \thetable\space has been set to width \the\pt@width}%
\endcenter\end@float}
\def\startdata{\pt@line=0\pt@calcnlines%
\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi%
\let\fnum@table=\fnum@ptable\set@mkcaption%
\@float{table}\center\caption{\pt@caption}\leavevmode%
\setbox\pt@box=\pt@tabular{\pt@format}%
\hline\hline\relax\\[-1.7ex]\pt@head}
% A kludgey kind of line delimiter is needed so that the line counter
% can be checked prior to adding the line to the alignment box. This
% is bad because this form does not permit the addition of vertical
% space using the [.5ex] construct; this has to be done with an explicit
% \vskip. And a disgusting \noalign is required, so I have to create
% another silly piece of markup to accomplish this conveniently.
%
% What is desired, of course, is for this line count checking to take
% place within the syntax of the regular LaTeX \\ command. I have been
% giving myself apoplexy trying to figure this out for the last 36 hours,
% and I have decided I will have to wait for the onset of my "lucid
% period" for a solution. In the meantime...
\def\pt@nl{\global\advance\pt@line by\@ne%
\ifnum\pt@line=\pt@nlines%
\\\noalign{\vskip .7ex}\hline\endtabular\box\pt@box%
\endcenter\end@float\clearpage%
\addtocounter{table}{\m@ne}%
\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont%
\@float{table}\center\caption{\pt@caption}\leavevmode%
\global\pt@ncol=0%
\setbox\pt@box=\pt@tabular{\pt@format}%
\hline\relax\\[-1.7ex]\pt@head%
\global\pt@line=0%
\else\\
\fi}
% Author markup commands for planotable environment line breaks.
%
% \nl == \nextline
% \tablevspace{DIMEN}
% \tablebreak
\let\nl=\pt@nl
\let\nextline=\pt@nl
\def\tablevspace#1{\noalign{\vskip{#1}}}
\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl}
% We have some specialty heads that are sometimes wanted in tables.
%
% \cutinhead{TEXT}
% \sidehead{TEXT}
\def\cutinhead#1{\noalign{\vskip 1.5ex}
\hline\pt@nl\noalign{\vskip -4ex}
\multicolumn{\pt@ncol}{c}{#1}\pt@nl
\noalign{\vskip .8ex}
\hline\pt@nl\noalign{\vskip -2ex}}
\def\sidehead#1{\noalign{\vskip 1.5ex}
\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl
\noalign{\vskip .5ex}}
% Internal commands for dealing with table footnotes. I had to hack at
% these to make them co-exist with similarly/identically named commands
% for non-plano tables. This is admittedly ugly, and is on the agenda
% for improved treatment Real Soon Now.
\def\set@tblnotetext{\def\tablenotetext##1##2{{%
\@temptokena={\vspace{0ex}{%
\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}%
\@temptokenb=\expandafter{\tblnote@list}
\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}}
\def\spew@ptblnotes{
\ifx\tblnote@list\@empty\relax
\else
\par
\vspace{2ex}
{\tblnote@list}
\gdef\tblnote@list{}
\fi}
% Special kinds of table footnotes. Sometimes authors tabulate things
% which have corresponding references, and it may be desirable to associate
% these references with the table rather than (or in addition to) the
% formal reference list. Occasionally, authors wish to append a short
% paragraph of explanatory notes that pertain to the entire table, but
% which are different than the caption.
%
% \tablerefs{REFERENCE LIST}
% \tablecomments{TEXT}
\def\tablerefs#1{\@temptokena={\vspace*{2.0ex}{%
{\rm References for Table \thetable.}\\%
\vspace*{1.6ex}%
\parbox{\pt@width}{#1}\par}}%
\@temptokenb=\expandafter{\tblnote@list}
\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
\def\tablecomments#1{\@temptokena={\vspace*{2.0ex}{%
{\rm Notes to Table \thetable.}\\%
\vspace*{1.6ex}%
\parbox{\pt@width}{#1}\par}}%
\@temptokenb=\expandafter{\tblnote@list}
\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
% Figure and table style parameters.
\def\thefigure{\@arabic\c@figure}
\def\fnum@figure{{\rm Fig.\space\thefigure.---}}
\def\thetable{\@arabic\c@table}
\def\fnum@table{{\rm Table \thetable:}}
% Figure and table float positions.
\def\fps@figure{bp}
\def\fps@table{bp}
% ****************************************
% * EPS INCLUSIONS *
% ****************************************
% Include Rokicki's epsf.sty file explicitly.
\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax}
% Simplified EPS inclusion macros so we can see how this goes...
% These are layered on Rokicki's dvips material, and are dependent
% on the author's use of that DVI driver.
%
% \plotone{EPSFILE}
% \plottwo{EPSFILE}{EPSFILE}
% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS}
%
% \plotone inserts the plot in a space that is \columnwidth wide; the
% plot is scaled so the horizontal dimension fits in the text width,
% and the vertical dimension is scaled to maintain the aspect ratio.
% \plottwo inserts two plots next to each other in one \columnwidth,
% sort of like "two-up" mode.
%
% EPSFILE name of file with EPS
%
% The following arguments are for the \plotfiddle macro which formats
% the \special itself, prepares vspace, etc. This completely bypasses
% Rokicki's macros that attempt to rationalize the EPS BoundingBox with
% the LaTeX page dimensions.
%
% VSIZE vertical white space to allow for plot
% ROT rotation angle
% HSF horiz scale factor
% VSF vert scale factor
% HTRANS horiz translation
% VTRANS vert translation
%\epsfverbosetrue
\def\plotone#1{\centering \leavevmode
\epsfxsize=\columnwidth \epsfbox{#1}}
\def\plottwo#1#2{\centering \leavevmode
\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil
\epsfxsize=.45\columnwidth \epsfbox{#2}}
\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode
\vbox to#2{\rule{0pt}{#2}}
\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}}
%\@input{abbrevs.sty}
% ****************************************
% * ABBREVIATIONS *
% ****************************************
% Abbreviations for journals. The object here is to provide authors
% with convenient shorthands for the most "popular" (often-cited)
% journals; the author can use these markup tags without being concerned
% about the exact form of the journal abbreviation, or its formatting.
% It is up to the keeper of the macros to make sure the macros expand
% to the proper text. If macro package writers agree to all use the
% same TeX command name, authors only have to remember one thing, and
% the style file will take care of editorial preferences. This also
% applies when a single journal decides to revamp its abbreviating
% scheme, as happened with the ApJ (Abt 1991).
\let\jnl@style=\rm
\def\ref@jnl#1{{\jnl@style#1}}
\def\aj{\ref@jnl{AJ}} % Astronomical Journal
\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys
\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal
\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters
\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement
\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics
\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science
\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics
\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews
\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement
\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal
\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS
\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada
\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS
\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS
\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics
\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State
\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C
\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D
\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters
\def\pasp{\ref@jnl{PASP}} % Publications of the ASP
\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ
\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS
\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope
\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics
\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy
\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews
\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik
\let\astap=\aap
\let\apjlett=\apjl
\let\apjsupp=\apjs
%\@input{misc.sty}
% ****************************************
% * MISCELLANEOUS *
% ****************************************
% Handy little things everybody works out for themselves anyway. Many
% of these come from Springer's A&A package, and some were contributed
% by Francois Schweizer at DTM. You can go berserk making these up,
% especially when you start getting into the composite ones. We have
% tried to select a tractable number that were useful, and somewhat
% difficult to get right because fussy kerning or some such is required.
% Most can be used in or out of math mode with impunity; \alt and \agt
% are relations and can only be used in math mode.
\def\deg{\hbox{$^\circ$}}
\def\sun{\hbox{$\odot$}}
\def\earth{\hbox{$\oplus$}}
\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}}
\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}}
\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}}
\def\arcmin{\hbox{$^\prime$}}
\def\arcsec{\hbox{$^{\prime\prime}$}}
\def\fd{\hbox{$.\!\!^{\rm d}$}}
\def\fh{\hbox{$.\!\!^{\rm h}$}}
\def\fm{\hbox{$.\!\!^{\rm m}$}}
\def\fs{\hbox{$.\!\!^{\rm s}$}}
\def\fdg{\hbox{$.\!\!^\circ$}}
\def\farcm{\hbox{$.\mkern-4mu^\prime$}}
\def\farcs{\hbox{$.\!\!^{\prime\prime}$}}
\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}}
\def\micron{\hbox{$\mu$m}}
\let\la=\lesssim % For Springer A&A compliance...
\let\ga=\gtrsim
% Permit author to typeset "case" fractions. This is sometimes
% wanted in displayed equations, during which LaTeX will set fractions
% specified as \frac{x}{y} as "built-up" fractions (numerator and
% denominator at body text size).
\def\case#1#2{\hbox{$\frac{#1}{#2}$}}
% Permit author to typeset fractions set with solidus where the size
% is reduced and the numerals are oriented diagonally. Note that this
% is different from a "shilled" fraction, which the author can produce
% without any special formatting markup. Define markup shorthands for
% several common fractions using solidus.
\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}}
\def\onehalf{\slantfrac{1}{2}}
\def\onethird{\slantfrac{1}{3}}
\def\twothirds{\slantfrac{2}{3}}
\def\onequarter{\slantfrac{1}{4}}
\def\threequarters{\slantfrac{3}{4}}
\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system
\def\ub{\hbox{$U\!-\!B$}} % U-B
\def\bv{\hbox{$B\!-\!V$}} % B-V
\def\vr{\hbox{$V\!-\!R$}} % V-R
\def\ur{\hbox{$U\!-\!R$}} % U-R
% Notation for atomic species (ionization levels). The ionization state
% is specified as the second argument, and should be given as a numeral.
% The macro has to expand the numeric state into the proper notation for
% the publication (roman, numeric, plus signs, etc.)
%
% \ion{ELEMENT}{IONIZATION STATE}
\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax}
% Centered ellipsis for use in tables (for unknown values). \nodata
% is generalized markup for this notion: format of null-valued entries
% in tables is style-specific.
%\def\cellipsis{\hfill$\cdots$\hfill}
\def\nodata{\multicolumn{1}{c}{---}}
% This is a generalization of the \LaTeX definition that comes in LaTeX.
% The change here ensures that LaTeX will be typeset in the current style,
% rather than always in roman.
\newcount\lecurrentfam
\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex
\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
% ****************************************
% * DEBUGGING *
% ****************************************
\def\sizrpt{
(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
\typeout{
(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
}}